package com.googlecode.kipler.container.dl.creational;

import com.googlecode.kipler.container.dl.Individual;
import com.googlecode.kipler.satisfiability.reasoner.profile.Logic;


/**
 * 
 * @author İnanç Seylan
 *
 */
public abstract class IndividualFactory {
	public abstract Individual createIndividual();

	public static IndividualFactory getFactory(Logic logic) {
		IndividualFactory result = null;
		switch (logic) {
		case SHQ:
		case SHIQ:
			result = new BasicIndividualFactory();
			break;
		case SHOIQ:
			result = new SHOIQIndividualFactory();
			break;
		}
		return result;
	}
}
